package com.helin.helinhealth.dto;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * AI问答学习记录DTO
 * 
 * <p>
 * 该DTO用于记录AI问答系统的学习数据，包括用户问题、
 * AI回答、学习状态等信息。这些记录可以用于后续的知识库
 * 扩充和AI模型优化。
 * </p>
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AiQuestionLearningRecord {
    
    /**
     * 用户原始问题
     */
    private String question;
    
    /**
     * 预处理后的问题
     */
    private String processedQuestion;
    
    /**
     * AI回答内容
     */
    private String answer;
    
    /**
     * 回答来源：1-知识库，2-AI接口
     */
    private Integer source;
    
    /**
     * 记录时间
     */
    private LocalDateTime recordTime;
    
    /**
     * 学习状态：0-未处理，1-已学习，2-已拒绝
     */
    private Integer learnStatus;
    
    /**
     * 创建学习记录
     * 
     * @param question 原始问题
     * @param processedQuestion 处理后的问题
     * @param answer 回答内容
     * @param source 来源
     * @return 学习记录对象
     */
    public static AiQuestionLearningRecord create(String question, 
                                                 String processedQuestion, 
                                                 String answer, 
                                                 Integer source) {
        AiQuestionLearningRecord record = new AiQuestionLearningRecord();
        record.setQuestion(question);
        record.setProcessedQuestion(processedQuestion);
        record.setAnswer(answer);
        record.setSource(source);
        record.setRecordTime(LocalDateTime.now());
        record.setLearnStatus(0); // 默认未处理
        return record;
    }
} 